package com.yk.spark.service.manage.app.api;

import com.yk.spark.model.AppModel;
import com.yk.spark.model.FileModel;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.util.List;
import java.util.Map;

/**
 * Created by Limit on 2017/8/23.
 */
public interface IAppService {
    /**
     * 保存App
     * @param appName app名称
     * @param appType app类型
     * @param parameters 配置参数
     * @return 操作状态，true：成功，false：失败
     */
    boolean saveApp(String appName,String appType,String parameters);

    /**
     * 删除APP
     * @param appID App唯一标识
     * @return 操作状态，true：成功，false：失败
     */
    boolean deleteApp(String appID);

    /**
     * 更新APP
     * @param appId app唯一标识
     * @param input app输入
     * @param output app输出
     * @return 操作状态，true：成功，false：失败
     */
    boolean updateApp(String appId,String input,String output);

    /**
     * 获取所有App
     * @return app列表
     */
    List getAppModel();

    /**
     * 获取分页App
     * @param start 分页起始位置
     * @param limit 最大查询结果数
     * @return 本次分页APP的列表
     */
    List<AppModel> getAppModel(int start,int limit);

    /**
     * 根据AppID获取App
     * @param appID AppModel唯一标识
     * @return AppModel实体
     */
    AppModel getAppModel(String appID);

    /**
     * 查询app总数
     * @return app总数
     */
    long querySum();

    Map<String,Object> getSelectFile(JSONArray selected)throws JSONException;

}
